﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum УдалитьВидыПеречисленийВБюджет
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"f55dcc88-f422-4da5-966f-e181bed6a04f\", \"Представление\":\"НалоговыйПлатеж\"}")]
		НалоговыйПлатеж = 0,//Налоговый платеж
		[EnumMember(Value = "{\"Ссылка\":\"5736e332-1ebc-420a-bc98-f3ee6c2ac4f0\", \"Представление\":\"ТаможенныйПлатеж\"}")]
		ТаможенныйПлатеж = 1,//Таможенный платеж
		[EnumMember(Value = "{\"Ссылка\":\"30994374-c216-4abe-ab93-5efe7f5c67b2\", \"Представление\":\"ИнойПлатеж\"}")]
		ИнойПлатеж = 2,//Иной платеж
	}
	public static partial class УдалитьВидыПеречисленийВБюджет_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid НалоговыйПлатеж = new Guid("81e16f96-d6be-4fa0-4da5-f422f55dcc88");//Налоговый платеж
		public static readonly Guid ТаможенныйПлатеж = new Guid("eef398bc-2a6c-f0c4-420a-1ebc5736e332");//Таможенный платеж
		public static readonly Guid ИнойПлатеж = new Guid("fe5e93ab-5c7f-b267-4abe-c21630994374");//Иной платеж
		public static УдалитьВидыПеречисленийВБюджет Получить(this УдалитьВидыПеречисленийВБюджет Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static УдалитьВидыПеречисленийВБюджет Получить(this УдалитьВидыПеречисленийВБюджет Значение, Guid Ссылка)
		{
			if(Ссылка == НалоговыйПлатеж)
			{
				return УдалитьВидыПеречисленийВБюджет.НалоговыйПлатеж;
			}
			else if(Ссылка == ТаможенныйПлатеж)
			{
				return УдалитьВидыПеречисленийВБюджет.ТаможенныйПлатеж;
			}
			else if(Ссылка == ИнойПлатеж)
			{
				return УдалитьВидыПеречисленийВБюджет.ИнойПлатеж;
			}
			return УдалитьВидыПеречисленийВБюджет.ПустаяСсылка;
		}
		public static byte[] Ключ(this УдалитьВидыПеречисленийВБюджет Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this УдалитьВидыПеречисленийВБюджет Значение)
		{
			switch (Значение)
			{
				case УдалитьВидыПеречисленийВБюджет.НалоговыйПлатеж: return НалоговыйПлатеж;
				case УдалитьВидыПеречисленийВБюджет.ТаможенныйПлатеж: return ТаможенныйПлатеж;
				case УдалитьВидыПеречисленийВБюджет.ИнойПлатеж: return ИнойПлатеж;
			}
			return Guid.Empty;
		}
	}
}